package com.seeTools.next.common.constant;

/**
 * @Author: seeTools
 * @Date: 2024/4/16  8:55
 * @Version 1.0
 */
public interface Constants {

    String ADMIN_LOGIN_NAME = "admin";

    String ADMIN_USERNAME = "admin";

    boolean NOT_UNIQUE = false;

    /**
     * 校验是否唯一的返回标识
     */
    boolean UNIQUE = true;

    /**
     * http请求
     */
    String HTTP = "http://";

    /**
     * https请求
     */
    String HTTPS = "https://";

    /**
     * UTF-8 字符集
     */
    String UTF8 = "UTF-8";

    /**
     * GBK 字符集
     */
    String GBK = "GBK";

    /**
     * 字典類型
     */
    interface DictType {

        /**
         * 字典正常状态
         */
        String DICT_NORMAL = "1";

        /**
         * 字典不正常状态
         */
        String DICT_UN_NORMAL = "0";

        /**
         * 系统是否
         */
        String DICT_YES = "Y";
        String DICT_NO = "N";

        /**
         * 黑铁会员
         */
        String member_grade_0 = "0";

        /**
         * 操作类型
         */
        String SYS_OPER_TYPE = "sys_oper_type";


        /**
         * 用户性别
         */
        String SYS_USER_SEX = "sys_user_sex";

        /**
         * 是否
         */
        String SYS_YES_NO = "sys_yes_no";

        /**
         * 卡类型
         */
        String CARD_TYPE = "card_type";

        /**
         * 卡状态
         */
        String CARD_STATUS = "card_status";

        /**
         * 优惠券状态
         */
        String COUPON_STATE = "coupon_state";

        /**
         * 优惠券状态
         */
        String COUPON_TYPE = "coupon_type";


        /**
         * 寄存中
         */
        String DEPOSIT_STATUS_0 = "0";

        /**
         * 已领完
         */
        String DEPOSIT_STATUS_1 = "1";

        /**
         * 已使用
         */
        String COUPON_STATE_0 = "0";

        /**
         * 未使用
         */
        String COUPON_STATE_1 = "1";

        /**
         * 已过期
         */
        String COUPON_STATE_2 = "2";

        /**
         * 会员等级
         */
        String MEMBER_GRADE = "member_grade";

        /**
         * 已付款
         */
        String PAY_STATUS_1 = "1";

        /**
         * 已退款
         */
        String PAY_STATUS_2 = "2";
    }


    /**
     * 积分类型
     */
    interface pointsType {

        /**
         * 减少积分
         */
        String OPERATION_REDUCE = "reduce";

        /**
         * 增加积分
         */
        String OPERATION_INCREASE = "increase";

        /**
         * 有效状态
         */
        String VALID_STATE = "1";

        /**
         * 已扣除
         */
        String DEDUCTION_STATE = "2";

        /**
         * 已过期
         */
        String OVERDUE_STATE = "3";
    }

    /**
     * 菜單類型
     */
    interface MenuType {

        String MENU = "menu";
        String BUTTON = "btn";
    }


    /**
     * 緩存key
     */
    interface CacheKey {

        String PREFIX = "cache:";

        String USER = PREFIX + "user";

        String USER_ROLE_LIST = PREFIX + "userRoleList";

        String ROLE_LIST_TENANT_ID = PREFIX + "roleList:tenantId";

        String MENU_LIST_USER_ID = PREFIX + "menuList:userId";

        String ROLE_MENU_LIST = PREFIX + "roleMenuList";

        String TENANT = PREFIX + "tenant";

        /**
         * 数据字典
         */
        String SYS_DICT = PREFIX + "sys_dict";

        /**
         * OSS配置
         */
        String SYS_OSS_CONFIG = "sys_oss_config";

        /**
         * 操作日志记入前缀
         */
        String OPERATION_LOG_CACHE = "cache:operation:";

        /**
         * 商品列表缓存KEY
         */
        String CACHE_STORE_COMMODITY_LIST = "cache:store:commodity:list";

        /**
         * 商品库存变更锁KEY前缀
         */
        String LOCK_STORE_UPDATE_STOCK_PREFIX = "lock:store:update:stock:";

        /**
         * 待查询支付结果的订单号
         */
        String PAYMENT_TO_QUERY_KEY = "data:payment:toquery";

        /**
         * 保存订单总金额
         */
        String DATA_ORDER_TOTAL_AMOUNT_PREFIX = "data:order:totalAmount:";

        /**
         * 待处理购物车存储KEY前缀
         */
        String CART_TO_QUERY_KEY_PREFIX = "data:cart:toquery:";

        /**
         * 待保存购物车存储KEY前缀
         */
        String CART_TO_SEND_KEY_PREFIX = "data:cart:tosend:";

        /**
         * 待交班时间-用于中控交班时间记录
         */
        String DATA_TO_SHIFT_TIME_PREFIX = "data:toShiftTime:";


        /**
         * 优惠券可用券包缓存前缀
         */
        String CACHE_COUPON_PACKET_USABLE_PREFIX = "cache:coupon:packet:usable:";


        /**
         * 优惠券已用券包缓存前缀
         */
        String CACHE_COUPON_PACKET_USED_PREFIX = "cache:coupon:packet:used:";

        /**
         * 优惠券过期券包缓存前缀
         */
        String CACHE_COUPON_PACKET_EXPIRED_PREFIX = "cache:coupon:packet:expired:";

        /**
         * 订单号查询次数
         */
        String PAYMENT_QUERY_COUNT_KEY_PREFIX = "cache:payment:queryCount:";

        /**
         * 订单支付结果KEY前缀
         */
        String PAYMENT_RESULT_KEY_PREFIX = "data:payment:result:";

        /**
         * 卡号下标
         */
        String CACHE_CARD_MASTER_INDEX = "cache:card:master:index";
    }


    /**
     * 配置管理
     */
    interface ConfigType {

        /**
         * 默认密码
         */
        String INIT_PASSWORD = "sys.user.initPassword";

        /**
         * 验证码开关
         */
        String CAPTCHA_ENABLE = "sys.account.captchaEnabled";


        /**
         * 注册成功客服消息
         */
        String MSG_SUBSCRIBE_SUCCESS = "config.msg.subscribe.success";
    }

}
